import { uploade } from '@/api/index'
import lrz from 'lrz'
/**
 * 
 * @param {Object} _this gloab全局this指向
 * @param {String} file 文件对象
 */
export function uploader(_this, file) {
  return new Promise((resolve, reject) => {
    if (file.length === 0) {
      reject('请上传图片')
      return false
    }
    if (file.length > 1) {
      reject('一次只能上传一张图片')
      return false
    }

    const isImg = file[0].type === 'image/png' || file[0].type === 'image/jpg' || file[0].type === 'image/jpeg'
    
    if (!isImg) {
      reject('请上传合法的图片文件')
      return false
    }
    
    if (file[0].size / 1024 / 1024 > 10) {
      reject('请上传10MB以内的图片')
      return false
    }
    
    lrz(file[0]).then(ret => {
      const files = new FormData()
      files.append('file', ret.file)
      uploade(files, _this).then(res => {
        if (res.data.errorCode === -1) {
          reject(res.data.messgae)
        } else {
          resolve(res.data.result)
        }
      })
    }).catch(err => {
      reject(err)
    })
  })
}